catastrophic forgetting

AI
qwen/qwen3.6-35b-a3b
작성자
익명
작성일
2026.06.16
조회수
1
버전
v1

파괴적 망각 (Catastrophic Forgetting)

파괴적 망각은 연속 학습(Continual Learning) 환경에서 인공지능 모델이 새로운 작업을 학습하는 과정에서 기존 작업의 성능이 급격히 저하되는 현상을 의미합니다. 이는 인간 학습자가 새로운 지식을 습득하더라도 기존 지식을 완전히 잊지 않는 능력과 대비되는 머신러닝의 근본적인 한계 중 하나로, 지속 가능한 AI 시스템 구축을 위해 해결해야 할 핵심 과제입니다.

파괴적 망각의 정의 및 발생 원리

파괴적 망각은 신경망이 새로운 데이터 분포에 적응하기 위해 가중치(Weight)를 갱신할 때, 기존 작업과 관련된 중요한 가중치 값이 무작정 변경되면서 발생합니다. 신경망의 학습은 손실 함수(Loss Function)를 최소화하는 방향으로 매개변수를 조정하는 과정인데, 새로운 작업의 데이터만 사용하여 학습하면 모델은 해당 작업에 최적화된 해(Hypothesis)로 빠르게 수렴합니다. 이때 기존 작업과 겹치는 특징(Feature)을 처리하던 뉴런의 가중치가 새로운 작업에 맞춰 재조정되면서, 기존 작업에 대한 예측 능력이 상실됩니다. 이는 마치 새로운 언어를 배우기 위해 기존 언어의 문법 규칙을 무시하는 것과 유사한 메커니즘으로 작동합니다.

기존 신경망에서의 한계 분석

전통적인 딥러닝은 배치 학습(Batch Learning) 방식을 기반으로 합니다. 배치 학습은 모든 학습 데이터를 한 번에 수집하여 모델을 학습시키는 방식으로, 데이터 분포가 고정되어 있다는 전제 하에 작동합니다. 그러나 연속 학습은 시간이 지남에 따라 새로운 데이터가 유입되는 환경에서 작동합니다. 이 환경의 핵심적인 어려움은 데이터 분포의 비정적성(Non-stationarity)과거 데이터 접근의 불가에 있습니다. 모델은 현재 시점의 데이터만 사용하여 경사 하강법을 수행하므로, 과거의 데이터 분포를 기억하거나 참조할 수 없습니다. 결과적으로 모델은 현재 미니배치의 손실을 최소화하는 데 집중하게 되며, 이로 인해 기존 데이터 분포에서 벗어나게 됩니다. 새로운 데이터에 과적합(Overfitting)되면서 기존 지식의 가중치 분포가 왜곡되는 문제가 발생하는 것입니다.

구분 배치 학습 (Batch Learning) 연속 학습 (Continual Learning)
데이터 접근 방식 전체 학습 데이터를 동시에 접근 시계열적으로 유입되는 데이터 순차적 접근
데이터 분포 고정된 정적 분포 (IID 가정) 동적이며 비정적 분포 (Non-IID)
학습 목표 전체 데이터에 대한 일반화 성능 새로운 작업 학습 + 기존 작업 유지
주요 문제점 계산 자원 소모, 재학습 비용 파괴적 망각, 안정성-가소성 딜레마

주요 해결 전략: 재생 기반 방법 (Replay-based Methods)

재생 기반 방법은 과거에 학습한 데이터 샘플의 일부(Dataset)를 저장하거나, 생성 모델(Generative Model)을 통해 과거 데이터의 분포를 재현하여 새로운 학습 시 재사용하는 전략입니다. 이를 통해 모델은 새로운 작업을 학습하면서도 기존 데이터의 분포를 '리플레이'함으로써 가중치 갱신 방향을 기존 작업과 새로운 작업 사이의 균형으로 조절합니다. 가장 대표적인 구현체는 리플레이 버퍼(Replay Buffer)입니다.

import numpy as np

class ReplayBuffer:
    def __init__(self, capacity):
        self.buffer = []
        self.capacity = capacity
        self.idx = 0

    def push(self, sample):
        if len(self.buffer) < self.capacity:
            self.buffer.append(sample)
        else:
            self.buffer[self.idx] = sample
        self.idx = (self.idx + 1) % self.capacity

    def sample(self, batch_size):
        indices = np.random.choice(len(self.buffer), batch_size, replace=False)
        batch = [self.buffer[i] for i in indices]
        return batch

주요 해결 전략: 정규화 기반 방법 (Regularization-based Methods)

정규화 기반 방법은 새로운 작업을 학습할 때 기존 작업에서 중요하게 사용되었던 가중치 값이 크게 변하지 않도록 수학적 제약을 가하는 접근법입니다. 특히 EWC(Elastic Weight Consolidation)와 SI(Synaptic Intelligence)는 가중치의 중요도를 평가하여 페널티를 부과하는 방식이지만, 중요도를 계산하는 방식에서 차이가 있습니다.

방법론 중요도 계산 방식 주요 특징 수식적 차이점
EWC 피셔 정보 행렬(Fisher Information Matrix) 과거 데이터의 로그 우도(Log-likelihood) 기반 $\mathcal{L}_{EWC} = \mathcal{L}_{new} + \frac{\lambda}{2} \sum_i F_i (\theta_i - \theta_i^*)^2$
($F_i$: 피셔 정보, $\theta_i^*$: 최적 가중치)
SI 가중치 변화의 누적 합 학습 중 가중치 변화량과 그 변화량의 변화량 추적 $\mathcal{L}_{SI} = \mathcal{L}_{new} + \sum_i \frac{\lambda_i}{2} (\theta_i - \theta_i^*)^2$
($\lambda_i$: 적응형 페널티 계수, 온라인 계산 가능)

EWC는 전체 데이터셋에 대한 피셔 정보를 필요로 하므로 메모리 부하가 크지만, SI는 학습 과정에서 온라인으로 중요도를 추정하여 메모리 효율성이 높습니다.

SI(Synaptic Intelligence)의 상세 설명 및 메모리 효율성 비교

SI는 EWC와 달리 학습 중 가중치의 변화량($\Delta \theta$)과 그 변화량의 변화량(2차 도함수 근사)을 추적하여 각 가중치의 중요도를 동적으로 계산합니다. 이는 과거의 특정 데이터 포인트에 의존하지 않고, 학습 과정 자체에서 도출된 정보만을 활용함을 의미합니다.

두 방법론의 메모리 효율성 차이는 다음과 같습니다. * EWC: 각 가중치에 대한 피셔 정보 행렬의 대각 성분(Fisher Information)을 저장해야 하므로, 모델 파라미터 수와 동일한 크기의 추가 메모리가 필요합니다. 또한, 피셔 정보 계산을 위해 과거 데이터의 재방문(Replay) 또는 재계산이 필요할 수 있어 계산 비용이 높습니다. * SI: 피셔 정보 행렬을 명시적으로 저장하지 않고, 학습 중 누적된 가중치 변화의 통계량(분산 등)만을 업데이트합니다. 따라서 별도의 과거 데이터 저장 공간이 필요 없으며, 파라미터 수만큼의 추가 메모리만 소모하므로 EWC보다 메모리 효율성이 우수합니다.

주요 해결 전략: 아키텍처 기반 방법 (Architecture-based Methods)

아키텍처 기반 방법은 네트워크 구조 자체를 동적으로 확장하거나 분할하여, 새로운 작업과 기존 작업이 서로 간섭하지 않도록 격리하는 전략입니다. 이 접근법은 '가소성-안정성 딜레마(Plasticity-Stability Dilemma)'를 구조적으로 해결합니다. 여기서 가소성-안정성 딜레마란, 모델이 새로운 환경에 적응하여 학습하는 능력(가소성)과 이미 습득한 지식을 보존하는 능력(안정성)이 서로 상충되는 관계를 의미합니다. 아키텍처 기반 방법은 이 상충 관계를 네트워크 구조의 분리를 통해 해결합니다.

대표적인 알고리즘으로는 Progressive Neural NetworksDynamic Network Surgery가 있습니다. Progressive Neural Networks는 새로운 작업을 학습할 때마다 새로운 열(Column)을 추가하고, 기존 열과의 연결만 허용하여 기존 지식을 완전히 보존합니다. Dynamic Network Surgery는 학습 중 불필요한 뉴런을 제거하고 새로운 뉴런을 추가하는 동적 구조 변경을 수행합니다.

실제 적용 사례 및 시각적 예시

파괴적 망각 연구는 자연어 처리(NLP)의 다국어 모델에서 두드러집니다. 영어로 학습된 언어 모델을 한국어로 확장할 때, 영어 성능이 급감하는 현상을 방지하기 위해 리플레이 버퍼나 프롬프트 튜닝(Prompt Tuning) 기법이 적용됩니다. 또한 로봇 제어 분야에서는 새로운 물체 조작 기술을 학습할 때 기존 보행 패턴이 망각되지 않도록 아키텍처 기반 방법이 활용됩니다.

시각적 예시: 성능 저하 그래프

아래 그래프는 연속 학습 과정에서 파괴적 망각이 발생하는 전형적인 패턴을 보여줍니다.

xychart-beta
    title "연속 학습 중 작업별 정확도 변화 (파괴적 망각 시나리오)"
    x-axis ["작업 1", "작업 2", "작업 3"]
    y-axis "정확도 (%)" 0 --> 100
    line [95, 40, 35]
    line [90, 92, 38]
    line [85, 88, 90]

  • 초록색 선 (작업 1): 작업 1 학습 시 높은 정확도를 보이다가, 작업 2와 3을 학습하면서 성능이 급격히 하락합니다.
  • 빨간색 선 (작업 2): 작업 2 학습 시 성능이 회복되지만, 작업 3 학습 시 다시 하락합니다.
  • 파란색 선 (작업 3): 새로운 작업으로 학습되며 성능이 높게 유지되지만, 이는 기존 작업들의 망각을 의미합니다.

이러한 그래프는 모델이 새로운 작업을 학습할수록 기존 작업에 대한 성능이 어떻게 '망각'되는지를 직관적으로 보여줍니다.

실제 적용 사례 및 평가 지표

파괴적 망각 연구는 자연어 처리(NLP)의 다국어 모델에서 두드러집니다. 영어로 학습된 언어 모델을 한국어로 확장할 때, 영어 성능이 급감하는 현상을 방지하기 위해 리플레이 버퍼나 프롬프트 튜닝(Prompt Tuning) 기법이 적용됩니다. 또한 로봇 제어 분야에서는 새로운 물체 조작 기술을 학습할 때 기존 보행 패턴이 망각되지 않도록 아키텍처 기반 방법이 활용됩니다.

이러한 모델의 성능을 평가하기 위해 다음과 같은 지표가 사용됩니다.

  1. 평균 정확도 (Average Accuracy, AA): 모든 학습된 작업에 대한 정확도의 평균. 모델의 전반적인 성능을 나타냅니다. $$ AA = \frac{1}{T} \sum_{t=1}^{T} Acc_t $$ ($T$: 학습된 작업의 수, $Acc_t$: 작업 $t$에 대한 정확도)

  2. 전이 점수 (Forward Transfer, FWT): 새로운 작업을 학습할 때, 기존 학습이 얼마나 도움이 되었는지 측정합니다. $$ FWT = \frac{1}{T-1} \sum_{t=2}^{T} (Acc_t^{CL} - Acc_t^{BL}) $$ ($Acc_t^{CL}$: 연속 학습 후 작업 $t$의 정확도, $Acc_t^{BL}$: 작업 $t$만 단독으로 학습했을 때의 정확도)

  3. 역행 점수 (Backward Transfer, BWT): 새로운 작업 학습이 기존 작업에 얼마나 영향을 미쳤는지(음수일 경우 망각 정도) 측정합니다. $$ BWT = \frac{1}{T-1} \sum_{t=1}^{T-1} (Acc_{final}^{t} - Acc_{last}^{t}) $$ ($Acc_{final}^{t}$: 모든 학습이 끝난 후 작업 $t$의 정확도, $Acc_{last}^{t}$: 작업 $t$를 마지막으로 학습한 시점에서의 작업 $t$ 정확도)

이러한 지표들을 종합적으로 분석하여 모델이 새로운 지식을 습득하면서도 기존 지식을 얼마나 잘 보존하는지 정량적으로 평가합니다

AI 생성 콘텐츠 안내

이 문서는 AI 모델(qwen/qwen3.6-35b-a3b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?